/*
 * Copyright 2010 Katsunori Koyanagi
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package sweezy.anim.impl
{
	import sweezy.anim.core.IAnimation;
	import sweezy.anim.core.IAnimationDecorator;

	internal class AnimationDecoratorBase extends AnimationBase implements IAnimationDecorator
	{

		protected var _targetAnimation:AnimationBase;

		private var _name:String;

		public function AnimationDecoratorBase(manager:AnimationManager, animation:AnimationBase)
		{
			super(manager);
			_targetAnimation = animation;
		}

		public function get targetAnimation():IAnimation
		{
			return _targetAnimation;
		}

		public function toString():String
		{
			var parameters:Object = parameters;
			var params:String = "";

			for (var name:String in parameters)
			{
				params += ", " + name + "=" + parameters[name];
			}

			return animationName + "(duration=" + _duration + ", position=" + _position + params + ", target=" + _targetAnimation + ")";
		}
	}
}
